package com.tbit.uqbike.service.business;

import com.tbit.uqbike.object.pojo.dto.AccountSpikeDTO;
import com.tbit.uqbike.object.pojo.dto.AccountSpikeGetDTO;
import com.tbit.uqbike.object.pojo.vo.AccountSpikeVo;
import com.tbit.uqbike.object.value.LoginInfo;
import com.tbit.common.entity.view.PageResult;
import com.tbit.common.entity.view.Result;
import org.springframework.web.multipart.MultipartFile;

/**
 * @Author LHX
 * @ClassName AccountSpikeService
 * @Description
 * @date 2023/5/12 11:00
 * @Version 1.0
 */
public interface AccountSpikeService {
    /**
     * 分页查询道钉信息
     *
     * @param dto
     * @return
     */
    PageResult<AccountSpikeVo> queryPage(AccountSpikeGetDTO dto);

    /**
     * 修改道钉信息
     *
     * @param dto
     * @return
     */
    Result<String> updateAccountSpike(AccountSpikeDTO dto, LoginInfo loginInfo);

    /**
     * 新增道钉信息
     *
     * @param dto
     * @param login
     * @return
     */
    Result<String> addAccountSpike(AccountSpikeDTO dto, LoginInfo login);

    /**
     * 道钉信息导出
     *
     * @param dto
     * @return
     */
    Result exportAccountSpike(AccountSpikeGetDTO dto);

    /**
     * 批量新增或修改
     *
     * @param file
     * @param batchType
     * @return
     */
    Result batchAddOrUpdate(MultipartFile file, Integer batchType, Integer accountId, LoginInfo login);

    /**
     * 删除道钉信息
     *
     * @param dto
     * @return
     */
    Result<String> deleteAccountSpike(AccountSpikeDTO dto);
}
